package com.water.controller;


import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.water.entity.SyArea;
import com.water.service.SyAreaService;
import com.water.utils.ExcelUtil;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

import static org.springframework.util.StringUtils.isEmpty;

/**
 * (SyArea)表控制层
 *
 * @author makejava
 * @since 2020-12-14 19:18:56
 */
@Controller
@RequestMapping("syArea")
public class SyAreaController {
    /**
     * 服务对象
     */
    @Resource
    private SyAreaService syAreaService;

    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @GetMapping("selectOne")
    @ResponseBody
    public SyArea selectOne(Integer id) {
        return this.syAreaService.queryById(id);
    }


    /**
     * 跳到抄表辖区
     */
    @RequestMapping(value = "sys_area/{num}",method = RequestMethod.GET)
    public String sys_area(SyArea syArea, Model model,@PathVariable("num") int num){
        System.out.println("抄表辖区222222222222222222222222222222222");
        PageHelper.startPage(num,5);//开始分页。
        syArea.setDisabled(0);
    List<SyArea> syAreaList=   this.syAreaService.queryAll(syArea);
    model.addAttribute("list",syAreaList);
        PageInfo pageInfo=new PageInfo(syAreaList);
        model.addAttribute("pageInfo",pageInfo);
        return "sys/sys_area";
    }

    /**
     * 跳到添加抄表
     * @param syArea
     * @param model
     * @return
     */
    @RequestMapping(value = "sys_area_add",method = RequestMethod.GET)
    public String sys_area_add(SyArea syArea, Model model){
        return "sys/sys_area_add";
    }

    /**
     * 添加抄表数据
     * @param syArea
     * @param model
     * @return
     */
    @RequestMapping(value = "sys_area_add1",method = RequestMethod.POST)
    public String sys_area_add1(SyArea syArea, Model model){
    SyArea syArea1=    this.syAreaService.insert(syArea);
      if(!isEmpty(syArea1)){
          model.addAttribute("msg","添加成功");
          return "sys/sys_area_add";
      }
        return "sys/sys_area_add";
    }

    /**
     * 跳到修改
     * @param syArea
     * @param model
     * @return
     */
    @RequestMapping(value = "sys_area_update/{id}",method = RequestMethod.GET)
    public String sys_area_update(SyArea syArea, Model model, @PathVariable("id") Integer id){
        SyArea syArea1=this.syAreaService.queryById(id);
        System.out.println(syArea1.toString()+"================================================");
        model.addAttribute("syArea1",syArea1);
        return "sys/sys_area_update";
    }

    /**
     * 添加修改数据
     * @param syArea
     * @param model
     * @return
     */
    @RequestMapping(value = "sys_area_update1",method = RequestMethod.POST)
    public String sys_area_update1(SyArea syArea, Model model){
        System.out.println(syArea.toString());
        try{
            SyArea   syemp1=  this.syAreaService.update(syArea);
            return "success";
        }catch (Exception e){
            e.printStackTrace();
        }
        model.addAttribute("msg","修改失败");
        return "sys/sys_area_update";
    }

    /**
     * 删除数据
     * @param id
     * @param model
     * @return
     */
    @RequestMapping(value = "sys_del/{id}/{num}",method= RequestMethod.GET)
    public String sys_empdel(@PathVariable("id") Integer id,Model model,@PathVariable("num") Integer num){
        System.out.println(id);
        boolean bo=    this.syAreaService.deleteById(id);
        if (bo==true){
            return "redirect:/syArea/sys_area/"+num;
        }
        return "redirect:/syArea/sys_area/"+num;
    }

    @RequestMapping(value = "SyDaoEx",method = RequestMethod.GET)
    public void SyDaoEx(SyArea syArea){

        String filePath = "D://测试1.xlsx";
        ArrayList<SyArea> data = new ArrayList<>();
         List<SyArea> syAreaList= this.syAreaService.queryAll(syArea);
        System.out.println("进入导出成excel");
        System.out.println(syAreaList.toString());
        for (int i = 0; i < syAreaList.size(); i++) {
SyArea syArea1=new SyArea();
     syArea1.setRemark(syAreaList.get(i).getRemark());
     syArea1.setId(syAreaList.get(i).getId());
     syArea1.setAreaname(syAreaList.get(i).getAreaname());
     data.add(syArea1);
        }

        ExcelUtil.writeWithTemplate(filePath,data);


    }
}